/*
表格相关变量
 */
var $table = $('#attention_table');
var $cancel_talbe = $("#cancel_attention_table");
var attension_data = [];
var cancel_attension_data = [];


/*
格式化关注列表,true为关注，false为未关注
 */
function operateFormatter(value, row, index) {
    if (value == true)
        return [
            '<input type="checkbox" checked onclick="">'
        ].join('');
    else
        return [
            '<input type="checkbox"  onclick="">'
        ].join('');

}


/*
格式化价格波动百分比，涨红，跌绿
 */
function pct_chg_Formatter(value, row, index) {
    if (value >= 0) {
        var a = '<span style="color: #dc3545">' + value + '</span>';
    } else {
        var a = '<span style="color: greenyellow">' + value + '</span>';
    }
    return a
}


/**格式化股票*/
function ts_code_link_Formatter(value, row, index) {
    return [
        "<a href='#' onclick='openIndexWithStockName(this)'>" + value + "</a>"
    ].join('');
}

/*
调用index页面，并传递股票名称和代码过去，便于index页面执行查询操作
 */
function openIndexWithStockName(param) {
    ts_code = param.innerHTML;//获取股票代码
    ts_name = $(param).parent().next()[0].innerText;//获取股票名称

    window.open("/stock/index/?analysis=true&ts_code=" + ts_code + "&name=" + ts_name, 'newwindow');
}


/*
初始化表格函数，初始化关注股票信息
 */
function init_attention_Table() {
    $table.bootstrapTable('destroy');
    $table.bootstrapTable({
        // height: 800,
        locale: "zh-CN",
        columns: [
            {
                title: '取消关注',
                field: 'state',
                checkbox: true,
                align: 'center',
                valign: 'middle'
            },
            {
                title: '股票代码',
                field: 'ts_code',
                align: 'center',
                valign: 'middle',
                sortable: true,
                formatter: ts_code_link_Formatter,
            }, {
                title: '股票名称',
                field: 'name',
                align: 'center',
                valign: 'middle',
                sortable: true,

            }, {
                field: 'start_attention_date',
                title: '关注日期',
                sortable: true,
                align: 'center'
            }, {
                field: 'start_attention_price',
                title: '关注时价格',
                sortable: true,
                align: 'center',
            }, {
                field: 'end_attention_date',
                title: '最新交易日期',
                sortable: true,
                align: 'center'
            }, {
                field: 'end_attention_price',
                title: '最新价格',
                sortable: true,
                align: 'center'
            }, {
                field: 'pct_chg',
                title: '价格波动百分比',
                align: 'center',
                sortable: true,
                formatter: pct_chg_Formatter,
            },
            // {
            //     field: 'is_end',
            //     title: '关注',
            //     align: 'center',
            //     formatter: operateFormatter,
            //     // clickToSelect: true,
            // },

        ],
    });
}


/*
获取关注股票信息
 */
function get_attention_data() {
    //参数为boolean型，如果为false则查询依旧关注股票，true查询停止关注的股票
    $.ajax({
        url: "./",
        type: "GET",
        data: {command: "attention_data", is_end: 'True'},
        success: function (callback) {
            attension_data = callback;
            $table.bootstrapTable("load", attension_data);
        },
        error: function () {
            alert('提交失败');
        }
    })
}


/*
初始化表格函数，初始化取消关注股票信息
 */
function init_cancel_attention_Table() {
    $cancel_talbe.bootstrapTable('destroy');
    $cancel_talbe.bootstrapTable({
        // height: 800,
        locale: "zh-CN",
        columns: [
            {
                title: '重新关注',
                field: 'state',
                checkbox: true,
                align: 'center',
                valign: 'middle'
            },
            {
                title: '股票代码',
                field: 'ts_code',
                align: 'center',
                valign: 'middle',
                sortable: true,
                formatter: ts_code_link_Formatter,
            }, {
                title: '股票名称',
                field: 'name',
                align: 'center',
                valign: 'middle',
                sortable: true,

            }, {
                field: 'start_attention_date',
                title: '关注时间',
                sortable: true,
                align: 'center'
            }, {
                field: 'start_attention_price',
                title: '关注时价格',
                sortable: true,
                align: 'center',
            }, {
                field: 'end_attention_date',
                title: '取消关注时间',
                sortable: true,
                align: 'center'
            }, {
                field: 'end_attention_price',
                title: '最新价格',
                sortable: true,
                align: 'center'
            }, {
                field: 'pct_chg',
                title: '价格波动百分比',
                align: 'center',
                sortable: true,
                formatter: pct_chg_Formatter
            },
            // {
            //     field: 'is_end',
            //     title: '关注',
            //     align: 'center',
            //     formatter: operateFormatter,
            //     // clickToSelect: true,
            // },

        ],
    });
}


/*
获取取消关注股票信息
 */
function get_cancel_attention_data() {
    //参数为boolean型，如果为false则查询依旧关注股票，true查询停止关注的股票
    $.ajax({
        url: "./",
        type: "GET",
        data: {command: "attention_data", is_end: 'False'},
        success: function (callback) {
            cancel_attension_data = callback
            $cancel_talbe.bootstrapTable("load", cancel_attension_data);
        },
        error: function () {
            alert('提交失败');
        }
    })
}


/*
获取当前交易日期和最新价格，对于取消关注，则是结束关注价格，对于重新关注，则是关注时价格
 */
function get_nowtime_and_nowprice(ts_code_list) {
    var nowtime = '';
    var newestprice = [];//数组json列表，每个元素应包含日期，价格，股票列表
    //获取当前系统日期，并转化未20191010格式
    date = new Date();
    year1 = date.getFullYear();
    month1 = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
    day1 = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
    nowtime = year1.toString() + month1.toString() + day1.toString();//格式化成YYYYMMDD格式


    $.ajax({
        url: "./",
        type: "GET",
        data: {command: "get_newest_date_price", query_date: nowtime, ts_code_list: ts_code_list},//查询数据库中当前最新交易数据和交易价格
        success: function (callback) {

        },
        error: function () {
            alert('提交失败');
        }
    });
    return newestprice
}


/*
提交取消关注股票操作
 */
function submit_cancel_attention(e) {
    var rows = $table.bootstrapTable('getAllSelections');
    //获取所有选中股票的ts_code
    var ts_code_list = [];
    for (var i = 0; i < rows.length; i++) {
        ts_code_list.push(rows[i].ts_code);
    }
    if (ts_code_list.length == 0) {
        alert('请选择需要取消关注的股票');
        return;
    }

    var confirm = window.confirm('是否确认取消关注选中的股票！！！\n' + ts_code_list);
    if (!confirm) {
        return;
    }

    $.ajax({
        url: "./",
        type: "GET",
        data: {command: "cancel_attention", ts_code_list: JSON.stringify(ts_code_list)},//查询数据库中当前最新交易数据和交易价格
        success: function (callback) {
            refresh_table()
        },
        error: function () {
            alert('提交失败');
        }

    });

}


/*
       提交重新关注股票操作
*/
function submit_afresh_attention(e) {
    var rows = $cancel_talbe.bootstrapTable('getAllSelections');
    //获取所有选中股票的ts_code
    var ts_code_list = [];
    for (var i = 0; i < rows.length; i++) {
        ts_code_list.push(rows[i].ts_code);
    }
    if (ts_code_list.length == 0) {
        alert('请选择需要重新关注的股票');
        return;
    }

    var confirm = window.confirm('是否确认重新关注选中的股票！！！\n' + ts_code_list);
    if (!confirm) {
        return;
    }

    $.ajax({
        url: "./",
        type: "GET",
        data: {command: "afresh_attention", ts_code_list: JSON.stringify(ts_code_list)},//查询数据库中当前最新交易数据和交易价格
        success: function (callback) {
            refresh_table()
        },
        error: function () {
            alert('提交失败');
        }

    });
}


/*
清空表格数据，is_end=1,表示删除关注列表，=0表示删除取消关注列表,默认为0
*/
function clear_attention_data(is_end = 0) {
    $.ajax({
        url: "./",
        type: "POST",
        data: {command: "clear_attention_data", is_end: is_end },//查询数据库中当前最新交易数据和交易价格
        success: function (callback) {
            refresh_table()
        },
        error: function () {
            alert('提交失败');
        }

    });
}



/*
刷新表格
 */
function refresh_table() {
    get_attention_data();
    init_attention_Table();
    get_cancel_attention_data();
    init_cancel_attention_Table();
}


/*
加载页面后，加载表格数据
 */
$(function () {
    refresh_table();

});